Scenario #1011: Create Natural Person As Partner

UseCase Create Partner => Partner: P-31011 - Michelle Matthieu

A partner can be a client or a vendor, currently we only use them for clients.

Properties

Given

name value
partnerNumber P-31011
personType NATURAL_PERSON
givenName Michelle
familyName Matthieu
contactCaption Michelle Matthieu
postalAddress         “name”: “Michelle Matthieu”,
        “street”: “An der Wandse 34”,
        “zipcode”: “22123”,
        “city”: “Hamburg”,
        “country”: “Germany”
officePhoneNumber +49 40 123456
emailAddress michelle.matthieu@example.org
birthday 1951-03-25
birthPlace Neustadt a.d.R.
birthName Eichbaum

Person: Hostsharing eG

HTTP GET "/api/hs/office/persons?name=Hostsharing+eG" \
  -H "Authorization: Bearer $HSADMINNG_JWT_BEARER" \
  `# {` \
  `#   "sub" : "uuid<hsh-alex_superuser>"` \
  `# }`
=> status: 200 OK 
[ {
  "uuid" : "bb7b76f1-1922-46aa-8c22-468c70c3a9fa", // Person: Hostsharing eG
  "personType" : "LEGAL_PERSON",
  "tradeName" : "Hostsharing eG",
  "salutation" : null,
  "title" : null,
  "givenName" : null,
  "familyName" : null
} ]

Even in production data we expect this query to return just a single result.

Person: Michelle Matthieu

HTTP POST "/api/hs/office/persons" \
  -H "Authorization: Bearer $HSADMINNG_JWT_BEARER" \
  `# {` \
  `#   "sub" : "uuid<hsh-alex_superuser>"` \
  `# }` \
  -H 'Content-Type: application/json' \
  --data-binary @- <<EOF
{
  "personType" : "NATURAL_PERSON",
  "givenName" : "Michelle",
  "familyName" : "Matthieu"
}
EOF
=> status: 201 CREATED 42f2f790-db43-4347-93b9-9b2ef60f3c36

Contact: Michelle Matthieu

HTTP POST "/api/hs/office/contacts" \
  -H "Authorization: Bearer $HSADMINNG_JWT_BEARER" \
  `# {` \
  `#   "sub" : "uuid<hsh-alex_superuser>"` \
  `# }` \
  -H 'Content-Type: application/json' \
  --data-binary @- <<EOF
{
  "caption" : "Michelle Matthieu",
  "postalAddress" : {
    "name" : "Michelle Matthieu",
    "street" : "An der Wandse 34",
    "zipcode" : "22123",
    "city" : "Hamburg",
    "country" : "Germany"
  },
  "phoneNumbers" : {
    "office" : "+49 40 123456"
  },
  "emailAddresses" : {
    "main" : "michelle.matthieu@example.org"
  }
}
EOF
=> status: 201 CREATED adb4df0b-d210-4a0b-bc87-4035b754b6ae

Create Partner: P-31011 - Michelle Matthieu

HTTP POST "/api/hs/office/partners" \
  -H "Authorization: Bearer $HSADMINNG_JWT_BEARER" \
  `# {` \
  `#   "sub" : "uuid<hsh-alex_superuser>"` \
  `# }` \
  -H 'Content-Type: application/json' \
  --data-binary @- <<EOF
{
  "partnerNumber" : "P-31011",
  "partnerRel" : {
    "anchor.uuid" : "bb7b76f1-1922-46aa-8c22-468c70c3a9fa", // Person: Hostsharing eG
    "holder.uuid" : "42f2f790-db43-4347-93b9-9b2ef60f3c36", // Person: Michelle Matthieu
    "contact.uuid" : "adb4df0b-d210-4a0b-bc87-4035b754b6ae" // Contact: Michelle Matthieu
  },
  "details" : {
    "birthday" : "1951-03-25",
    "birthPlace" : "Neustadt a.d.R.",
    "birthName" : "Eichbaum"
  }
}
EOF
=> status: 201 CREATED c3c80fe5-c6e0-4e11-9b63-e472fc768e2c

Verify the New Partner Relation

HTTP GET "/api/hs/office/relations?relationType=PARTNER&contactData=Michelle+Matthieu" \
  -H "Authorization: Bearer $HSADMINNG_JWT_BEARER" \
  `# {` \
  `#   "sub" : "uuid<hsh-alex_superuser>"` \
  `# }`
=> status: 200 OK 
[ {
  "uuid" : "ed2fbf99-b83d-4513-88dc-18d8229017cf",
  "anchor" : {
    "uuid" : "bb7b76f1-1922-46aa-8c22-468c70c3a9fa", // Person: Hostsharing eG
    "personType" : "LEGAL_PERSON",
    "tradeName" : "Hostsharing eG",
    "salutation" : null,
    "title" : null,
    "givenName" : null,
    "familyName" : null
  },
  "holder" : {
    "uuid" : "42f2f790-db43-4347-93b9-9b2ef60f3c36", // Person: Michelle Matthieu
    "personType" : "NATURAL_PERSON",
    "tradeName" : null,
    "salutation" : null,
    "title" : null,
    "givenName" : "Michelle",
    "familyName" : "Matthieu"
  },
  "type" : "PARTNER",
  "mark" : null,
  "contact" : {
    "uuid" : "adb4df0b-d210-4a0b-bc87-4035b754b6ae", // Contact: Michelle Matthieu
    "caption" : "Michelle Matthieu",
    "postalAddress" : {
      "zipcode" : "22123",
      "country" : "Germany",
      "city" : "Hamburg",
      "street" : "An der Wandse 34",
      "name" : "Michelle Matthieu"
    },
    "emailAddresses" : {
      "main" : "michelle.matthieu@example.org"
    },
    "phoneNumbers" : {
      "office" : "+49 40 123456"
    }
  }
} ]

generated on 2026-07-17 01:42:24 for branch